TinyXML 您所在的位置:网站首页 为什么都反对 XML 而支持使用 JSON TinyXML

TinyXML

2024-06-02 18:44| 来源: 网络整理| 查看: 265

声明

本文例子源自在C++中使用TinyXML2解析xml一文,其余部分来源于网络搜集,难免疏漏,敬请随意吐槽。

XML以及JSON 什么是XML

XML 根据Wikipedia-XML的说法:

可扩展标记语言(英语:eXtensible Markup Language,简称:XML),是一种标记语言。标记指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种信息的文章等。如何定义这些标记,既可以选择国际通用的标记语言,比如HTML,也可以使用像XML这样由相关人士自由决定的标记语言,这就是语言的可扩展性。XML是从标准通用标记语言(SGML)中简化修改出来的。它主要用到的有可扩展标记语言、可扩展样式语言(XSL)、XBRL和XPath等。 XML设计用来传送及携带数据信息,不用来表现或展示数据,所以XML用途的焦点是它说明数据是什么,以及携带数据信息。

我个人对XML了解不多,这次使用也是用来保存机器学习生成的模型,感觉上用XML来传输存储信息是很方便的。

XML和JSON

JSON是另一种可以用来传输货保存信息的格式。根据Wikipedia-JSON的说法:

JSON(JavaScript Object Notation)是一种由道格拉斯·克罗克福特构想设计、轻量级的资料交换语言,以文字为基础,且易于让人阅读。尽管JSON是Javascript的一个子集,但JSON是独立于语言的文本格式,并且采用了类似于C语言家族的一些习惯。

关于XML和JSON的比较,Wikipedia上如是说:

JSON与XML最大的不同在于XML是一个完整的标记语言,而JSON不是。这使得XML在程式判读上需要比较多的功夫。主要的原因在于XML的设计理念与JSON不同。XML利用标记语言的特性提供了绝佳的延展性(如XPath),在数据存储,扩展及高级检索方面具备对JSON的优势,而JSON则由于比XML更加小巧,以及浏览器的内建快速解析支持,使得其更适用于网络数据传输领域。

关于这一问题,在国内的知乎上也有各种讨论,比如:《为什么XML这么笨重的数据结构仍在广泛应用》、《为什么都反对 XML 而支持使用 JSON》。总结下来,基本也就是各有优势,具体选择还是需要根据需要判断。

XML解析库

各种语言都有XML的解析方案,Java和Python都有方便的解析库。对于C++也有多种解析方案,可以参考《C++解析xml有什么好用的轮子》、《What XML parser should I use in C++?》。也有人做了一张图:

CXML

我最终选择了TinyXML2,使用挺方便简单。

话说Json似乎有个



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有